package com.molichuxing.services.infrastructure.bean;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import com.molichuxing.framework.bean.RootBean;

public class OrderScheduleBean extends RootBean {
    /**
     *  id
     */
    private Integer id;

    /**
     * 订单号 order_code
     */
    private Long orderCode;

    /**
     * 排期期数 periods
     */
    private Integer periods;

    /**
     * 总还款期数 total_periods
     */
    private Integer totalPeriods;

    /**
     * 应付款金额（不含保证金） payable
     */
    private BigDecimal payable;

    /**
     * 保证金 deposit
     */
    private BigDecimal deposit;

    /**
     * 用户id user_id
     */
    private Integer userId;

    /**
     * 经销商id dealer_id
     */
    private Integer dealerId;

    /**
     * 应付款日期 payable_date
     */
    private LocalDate payableDate;

    /**
     * 实际支付时间 pay_success_time
     */
    private LocalDateTime paySuccessTime;

    /**
     * 支付方式( 11：智能终端-微信， 12：智能终端-支付宝， 13：智能终端-pos机，21：微信-公众号，22：微信-H5， 23：微信-APP，34：微信-扫码，25：微信-小程序，31：支付宝-APP，32：支付宝-H5，41: 线下支付，51：银联-APP，51：银联-H5) pay_way
     */
    private Integer payWay;

    /**
     * 还款终端 repay_terminal
     */
    private String repayTerminal;

    /**
     * 状态（0：未还款，1：已还款，2：已终止） status
     */
    private Integer status;

    /**
     * 创建时间 gmt_create
     */
    private LocalDateTime gmtCreate;

    /**
     * 更新时间 gmt_modified
     */
    private LocalDateTime gmtModified;

    /**
     * orders_order_schedule
     */
    private static final long serialVersionUID = 1L;

    /**
     * 
     * @date 2019-08-16 15:52:34
     * @return id 
     */
    @Override
	public Integer getId() {
        return id;
    }

    /**
     * 
     * @date 2019-08-16 15:52:34
     * @param id 
     */
    @Override
	public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 订单号
     * @date 2019-08-16 15:52:34
     * @return order_code 订单号
     */
    public Long getOrderCode() {
        return orderCode;
    }

    /**
     * 订单号
     * @date 2019-08-16 15:52:34
     * @param orderCode 订单号
     */
    public void setOrderCode(Long orderCode) {
        this.orderCode = orderCode;
    }

    /**
     * 排期期数
     * @date 2019-08-16 15:52:34
     * @return periods 排期期数
     */
    public Integer getPeriods() {
        return periods;
    }

    /**
     * 排期期数
     * @date 2019-08-16 15:52:34
     * @param periods 排期期数
     */
    public void setPeriods(Integer periods) {
        this.periods = periods;
    }

    /**
     * 总还款期数
     * @date 2019-08-16 15:52:34
     * @return total_periods 总还款期数
     */
    public Integer getTotalPeriods() {
        return totalPeriods;
    }

    /**
     * 总还款期数
     * @date 2019-08-16 15:52:34
     * @param totalPeriods 总还款期数
     */
    public void setTotalPeriods(Integer totalPeriods) {
        this.totalPeriods = totalPeriods;
    }

    /**
     * 应付款金额（不含保证金）
     * @date 2019-08-16 15:52:34
     * @return payable 应付款金额（不含保证金）
     */
    public BigDecimal getPayable() {
        return payable;
    }

    /**
     * 应付款金额（不含保证金）
     * @date 2019-08-16 15:52:34
     * @param payable 应付款金额（不含保证金）
     */
    public void setPayable(BigDecimal payable) {
        this.payable = payable;
    }

    /**
     * 保证金
     * @date 2019-08-16 15:52:34
     * @return deposit 保证金
     */
    public BigDecimal getDeposit() {
        return deposit;
    }

    /**
     * 保证金
     * @date 2019-08-16 15:52:34
     * @param deposit 保证金
     */
    public void setDeposit(BigDecimal deposit) {
        this.deposit = deposit;
    }

    /**
     * 用户id
     * @date 2019-08-16 15:52:34
     * @return user_id 用户id
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * 用户id
     * @date 2019-08-16 15:52:34
     * @param userId 用户id
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * 经销商id
     * @date 2019-08-16 15:52:34
     * @return dealer_id 经销商id
     */
    public Integer getDealerId() {
        return dealerId;
    }

    /**
     * 经销商id
     * @date 2019-08-16 15:52:34
     * @param dealerId 经销商id
     */
    public void setDealerId(Integer dealerId) {
        this.dealerId = dealerId;
    }

    /**
     * 应付款日期
     * @date 2019-08-16 15:52:34
     * @return payable_date 应付款日期
     */
    public LocalDate getPayableDate() {
        return payableDate;
    }

    /**
     * 应付款日期
     * @date 2019-08-16 15:52:34
     * @param payableDate 应付款日期
     */
    public void setPayableDate(LocalDate payableDate) {
        this.payableDate = payableDate;
    }

    /**
     * 实际支付时间
     * @date 2019-08-16 15:52:34
     * @return pay_success_time 实际支付时间
     */
    public LocalDateTime getPaySuccessTime() {
        return paySuccessTime;
    }

    /**
     * 实际支付时间
     * @date 2019-08-16 15:52:34
     * @param paySuccessTime 实际支付时间
     */
    public void setPaySuccessTime(LocalDateTime paySuccessTime) {
        this.paySuccessTime = paySuccessTime;
    }

    /**
     * 支付方式( 11：智能终端-微信， 12：智能终端-支付宝， 13：智能终端-pos机，21：微信-公众号，22：微信-H5， 23：微信-APP，34：微信-扫码，25：微信-小程序，31：支付宝-APP，32：支付宝-H5，41: 线下支付，51：银联-APP，51：银联-H5)
     * @date 2019-08-16 15:52:34
     * @return payWay 支付方式( 11：智能终端-微信， 12：智能终端-支付宝， 13：智能终端-pos机，21：微信-公众号，22：微信-H5， 23：微信-APP，34：微信-扫码，25：微信-小程序，31：支付宝-APP，32：支付宝-H5，41: 线下支付，51：银联-APP，51：银联-H5)
     */
    public Integer getPayWay() {
        return payWay;
    }

    /**
     * 支付方式( 11：智能终端-微信， 12：智能终端-支付宝， 13：智能终端-pos机，21：微信-公众号，22：微信-H5， 23：微信-APP，34：微信-扫码，25：微信-小程序，31：支付宝-APP，32：支付宝-H5，41: 线下支付，51：银联-APP，51：银联-H5)
     * @date 2019-08-16 15:52:34
     * @param payWay 支付方式( 11：智能终端-微信， 12：智能终端-支付宝， 13：智能终端-pos机，21：微信-公众号，22：微信-H5， 23：微信-APP，34：微信-扫码，25：微信-小程序，31：支付宝-APP，32：支付宝-H5，41: 线下支付，51：银联-APP，51：银联-H5)
     */
    public void setPayWay(Integer payWay) {
        this.payWay = payWay;
    }

    /**
     * 还款终端
     * @date 2019-08-16 15:52:34
     * @return repay_terminal 还款终端
     */
    public String getRepayTerminal() {
        return repayTerminal;
    }

    /**
     * 还款终端
     * @date 2019-08-16 15:52:34
     * @param repayTerminal 还款终端
     */
    public void setRepayTerminal(String repayTerminal) {
        this.repayTerminal = repayTerminal == null ? null : repayTerminal.trim();
    }

    /**
     * 状态（0：未还款，1：已还款，2：已终止）
     * @date 2019-08-16 15:52:34
     * @return status 状态（0：未还款，1：已还款，2：已终止）
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 状态（0：未还款，1：已还款，2：已终止）
     * @date 2019-08-16 15:52:34
     * @param status 状态（0：未还款，1：已还款，2：已终止）
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 创建时间
     * @date 2019-08-16 15:52:34
     * @return gmt_create 创建时间
     */
    @Override
	public LocalDateTime getGmtCreate() {
        return gmtCreate;
    }

    /**
     * 创建时间
     * @date 2019-08-16 15:52:34
     * @param gmtCreate 创建时间
     */
    @Override
	public void setGmtCreate(LocalDateTime gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * 更新时间
     * @date 2019-08-16 15:52:34
     * @return gmt_modified 更新时间
     */
    @Override
	public LocalDateTime getGmtModified() {
        return gmtModified;
    }

    /**
     * 更新时间
     * @date 2019-08-16 15:52:34
     * @param gmtModified 更新时间
     */
    @Override
	public void setGmtModified(LocalDateTime gmtModified) {
        this.gmtModified = gmtModified;
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        OrderScheduleBean other = (OrderScheduleBean) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getOrderCode() == null ? other.getOrderCode() == null : this.getOrderCode().equals(other.getOrderCode()))
            && (this.getPeriods() == null ? other.getPeriods() == null : this.getPeriods().equals(other.getPeriods()))
            && (this.getTotalPeriods() == null ? other.getTotalPeriods() == null : this.getTotalPeriods().equals(other.getTotalPeriods()))
            && (this.getPayable() == null ? other.getPayable() == null : this.getPayable().equals(other.getPayable()))
            && (this.getDeposit() == null ? other.getDeposit() == null : this.getDeposit().equals(other.getDeposit()))
            && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
            && (this.getDealerId() == null ? other.getDealerId() == null : this.getDealerId().equals(other.getDealerId()))
            && (this.getPayableDate() == null ? other.getPayableDate() == null : this.getPayableDate().equals(other.getPayableDate()))
            && (this.getPaySuccessTime() == null ? other.getPaySuccessTime() == null : this.getPaySuccessTime().equals(other.getPaySuccessTime()))
            && (this.getPayWay() == null ? other.getPayWay() == null : this.getPayWay().equals(other.getPayWay()))
            && (this.getRepayTerminal() == null ? other.getRepayTerminal() == null : this.getRepayTerminal().equals(other.getRepayTerminal()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getGmtCreate() == null ? other.getGmtCreate() == null : this.getGmtCreate().equals(other.getGmtCreate()))
            && (this.getGmtModified() == null ? other.getGmtModified() == null : this.getGmtModified().equals(other.getGmtModified()));
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getOrderCode() == null) ? 0 : getOrderCode().hashCode());
        result = prime * result + ((getPeriods() == null) ? 0 : getPeriods().hashCode());
        result = prime * result + ((getTotalPeriods() == null) ? 0 : getTotalPeriods().hashCode());
        result = prime * result + ((getPayable() == null) ? 0 : getPayable().hashCode());
        result = prime * result + ((getDeposit() == null) ? 0 : getDeposit().hashCode());
        result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
        result = prime * result + ((getDealerId() == null) ? 0 : getDealerId().hashCode());
        result = prime * result + ((getPayableDate() == null) ? 0 : getPayableDate().hashCode());
        result = prime * result + ((getPaySuccessTime() == null) ? 0 : getPaySuccessTime().hashCode());
        result = prime * result + ((getPayWay() == null) ? 0 : getPayWay().hashCode());
        result = prime * result + ((getRepayTerminal() == null) ? 0 : getRepayTerminal().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getGmtCreate() == null) ? 0 : getGmtCreate().hashCode());
        result = prime * result + ((getGmtModified() == null) ? 0 : getGmtModified().hashCode());
        return result;
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", orderCode=").append(orderCode);
        sb.append(", periods=").append(periods);
        sb.append(", totalPeriods=").append(totalPeriods);
        sb.append(", payable=").append(payable);
        sb.append(", deposit=").append(deposit);
        sb.append(", userId=").append(userId);
        sb.append(", dealerId=").append(dealerId);
        sb.append(", payableDate=").append(payableDate);
        sb.append(", paySuccessTime=").append(paySuccessTime);
        sb.append(", payWay=").append(payWay);
        sb.append(", repayTerminal=").append(repayTerminal);
        sb.append(", status=").append(status);
        sb.append(", gmtCreate=").append(gmtCreate);
        sb.append(", gmtModified=").append(gmtModified);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}